The design of processor-based systems may include developing a design block that communicates with a processor via an interface bus of the processor. An example design block is a bridge between the protocol of the processor's interface bus and another communication protocol, such as Ethernet. The IBM Power PC processor is an example processor which is included in the Virtex-II Pro and Virtex-4 families of programmable logic devices (PLD) available from Xilinx, Inc. Another example processor is the Microblaze processor that may be implemented in the programmable logic and routing resources of a PLD. The IBM Power PC processor of Xilinx PLDs has the interface buses of IBM CoreConnect, including the Processor Local Bus, the On-Chip Peripheral Bus, and the Device Control Register bus. The Microblaze processor has the On-Chip Peripheral Bus for an interface bus.
The development of a design block for a processor-based system may include verification of the design block by way of simulating an example processor-based system. However, a simulation that includes simulating a processor may have a slow simulation speed due to the complexity of simulating the processor. In addition, the verification of a design block may require issuing particular transactions on the interface bus, and the processor may provide indirect control of the transactions issued on the interface bus, which may make the verification of a design block time-consuming and expensive. The verification of a design block may require issuing certain transactions on the interface bus that a specific normally functioning processor cannot issue, such as certain transactions with aborts, retries, and/or errors including bus parity errors.
A bus functional model may be a simplification of a processor that allows a direct specification of the transactions issued on the interface bus by the bus functional model. The bus functional model may also provide explicit control of exceptional conditions, such as aborts, retries, and errors. A simulation of a processor-based system using a bus functional model instead of a processor may provide an improvement in simulation speed. The bus functional model may also check every protocol rule of the interface bus and flag any violations of these protocol rules.
For a design block that is coupled to an interface bus of a processor and an input/output interface, a bus functional model could be used to control the interface bus, except that verification of the design block may require coordinated control and validation of both the interface bus and the input/output interface. For example, a defect in the design block may not cause improper operation on the processor's interface bus because the improper operation may only be evident on the input/output interface. Coordination of control and validation for a design block having a processor's interface bus and another bus may be time-consuming and expensive.
The present invention may address one or more of the above issues.